;******************************************************************************
;*   Project:      PBX Front panel lcd                                        *
;*   Version:      0.1.1                                                      *
;*                                                                            *
;*   Filename:     charset.asm                                                *
;*   Description:  LCD Character map                                          *
;*   Last mod:     16 august 2012                                             *
;*                                                                            *
;*   Author:       Benoit Frigon                                              *
;*   Email:        <bfrigon@gmail.com>                                        *
;*                                                                            *
;******************************************************************************
RADIX		HEX


;==============================================================================
;==============================================================================
;
;                                   Symbols 
;------------------------------------------------------------------------------
GLOBAL		charmap
GLOBAL		charset
GLOBAL		flookup

;==============================================================================
;==============================================================================
;
;                          Data in program memory
;------------------------------------------------------------------------------


;------------------------------------------------------------------------------
; Big font formatter lookup table
;------------------------------------------------------------------------------
.c_flookup	CODE
flookup

			;*** Style 1 & 2 ***
			DB	020,004,004,020,020,020			; Format 1 - (-)
			DB	020,020,020,020,0A5,020			; Format 1 - (.)
			DB	000,003,001,006,007,005			; Format 1 - Digit 0
			DB	020,020,001,020,020,005			; Format 1 - Digit 1
			DB	020,002,001,006,007,020			; Format 1 - Digit 2
			DB	020,002,001,020,007,005			; Format 1 - Digit 3
			DB	000,004,001,020,020,005			; Format 1 - Digit 4
			DB	000,002,020,020,007,005			; Format 1 - Digit 5
			DB	000,002,020,006,007,005			; Format 1 - Digit 6
			DB	020,003,001,020,020,005			; Format 1 - Digit 7
			DB	000,002,001,006,007,005			; Format 1 - Digit 8
			DB	000,002,001,020,020,005			; Format 1 - Digit 9
			DB  020,0A5,020,020,0A5,020			; Format 1 - (:)

			;*** Style 3 ***
			DB	020,006,006,020,020,020			; Format 2 - (-)
			DB	020,020,020,020,02E,020			; Format 2 - (.)
			DB	000,003,001,000,004,001			; Format 2 - Digit 0
			DB	020,020,001,020,020,001			; Format 2 - Digit 1
			DB	005,002,001,000,004,004			; Format 2 - Digit 2
			DB	005,002,001,006,004,001			; Format 2 - Digit 3
			DB	000,004,001,020,020,001			; Format 2 - Digit 4
			DB	000,002,007,006,004,001			; Format 2 - Digit 5
			DB	000,002,007,000,004,001			; Format 2 - Digit 6
			DB	000,003,001,020,020,001			; Format 2 - Digit 7
			DB	000,002,001,000,004,001			; Format 2 - Digit 8
			DB	000,002,001,006,004,001			; Format 2 - Digit 9
			DB  020,0A5,020,020,0A5,020			; Format 2 - (:)

			;*** Style 4 ***
			DB	020,020,020,020,003,003			; Format 3 - (-)
			DB	020,020,020,020,02E,020			; Format 3 - (.)
			DB	001,004,000,001,003,000			; Format 3 - Digit 0
			DB	020,020,000,020,020,000			; Format 3 - Digit 1
			DB	020,002,000,001,003,020			; Format 3 - Digit 2
			DB	020,002,000,020,003,000			; Format 3 - Digit 3
			DB	001,003,000,020,020,000			; Format 3 - Digit 4
			DB	001,002,020,020,003,000			; Format 3 - Digit 5
			DB	001,002,020,001,003,000			; Format 3 - Digit 6
			DB	020,004,000,020,020,000			; Format 3 - Digit 7
			DB	001,002,000,001,003,000			; Format 3 - Digit 8
			DB	001,002,000,020,003,000			; Format 3 - Digit 9
			DB  020,0A5,020,020,0A5,020			; Format 3 - (:)




;------------------------------------------------------------------------------
; Character set
;------------------------------------------------------------------------------
.c_charset	CODE
charset		DB	0B0,0B1,0B2,0B3,0B4,0B5,0B6,0B7	; 00. Big clock - Set 1
			DB	0B8,0B9,0BA,0BB,0BC,0BD,0BE,0BF	; 01. Big clock - Set 2
			DB 	0C0,0C1,0C2,0C3,0C4,0C5,0C6,0C7	; 02. Big clock - Set 3
			DB 	0CC,0CD,0CE,0CF,0D0,0FF,0FF,0FF	; 03. Big clock - Set 4
			
			DB	0D1,0D2,0D3,0D4,0D5,0D6,0FF,0FF ; 04. Icon - warning			
			DB	0D7,0D8,0D9,0DA,0DB,0DC,0FF,0FF ; 04. Icon - info
;------------------------------------------------------------------------------
; Character pixel data
;------------------------------------------------------------------------------
.c_charmap	CODE
charmap		DB	01F,000,000,000,000,000,000,000	; 00. Horz fill,0 1 line from top
			DB	01F,01F,000,000,000,000,000,000	; 01. Horz fill,0 2 lines from top
			DB	01F,01F,01F,000,000,000,000,000	; 02. Horz fill,0 3 lines from top
			DB	01F,01F,01F,01F,000,000,000,000	; 03. Horz fill,0 4 lines from top
			DB	01F,01F,01F,01F,01F,000,000,000	; 04. Horz fill,0 5 lines from top
			DB	01F,01F,01F,01F,01F,01F,000,000	; 05. Horz fill,0 6 linex from top
			DB	01F,01F,01F,01F,01F,01F,01F,000	; 06. Horz fill,0 7 lines from top
			DB	01F,01F,01F,01F,01F,01F,01F,01F	; 07. Block fill (5x8)
			DB	000,000,000,000,000,000,000,01F	; 08. Horz fill,0 1 line from bottom
			DB	000,000,000,000,000,000,01F,01F	; 09. Horz fill,0 2 lines from bottom
			DB	000,000,000,000,000,01F,01F,01F	; 0A. Horz fill,0 3 lines from bottom
			DB	000,000,000,000,01F,01F,01F,01F	; 0B. Horz fill,0 4 lines from bottom
			DB	000,000,000,01F,01F,01F,01F,01F	; 0C. Horz fill,0 5 lines from bottom
			DB	000,000,01F,01F,01F,01F,01F,01F	; 0D. Horz fill,0 6 lines from bottom
			DB	000,01F,01F,01F,01F,01F,01F,01F	; 0E. Horz fill,0 7 lines from bottom
			
			DB	010,010,010,010,010,010,010,010	; 0F. Vert fill,0 1 line from left
			DB	018,018,018,018,018,018,018,018	; 10. Vert fill,0 2 lines from left
			DB	01C,01C,01C,01C,01C,01C,01C,01C	; 11. Vert fill,0 3 lines from left
			DB	01E,01E,01E,01E,01E,01E,01E,01E	; 12. Vert fill,0 4 lines from left
			DB	00F,00F,00F,00F,00F,00F,00F,00F	; 13. Vert fill,0 4 lines from right
			DB	007,007,007,007,007,007,007,007	; 14. Vert fill,0 3 lines from right
			DB	003,003,003,003,003,003,003,003	; 15. Vert fill,0 2 lines from right
			DB	001,001,001,001,001,001,001,001	; 16. Vert fill,0 1 line from right
			
			DB  00E,01B,011,011,011,011,011,01F	; 17. Battery,0 empty
			DB  00E,01B,011,011,011,011,01F,01F	; 18. Battery,0 level 1
			DB  00E,01B,011,011,011,011,01F,01F	; 19. Battery,0 level 2
			DB  00E,01B,011,011,011,01F,01F,01F	; 1A. Battery,0 level 3
			DB  00E,01B,011,011,01F,01F,01F,01F	; 1B. Battery,0 level 4
			DB  00E,01B,011,01F,01F,01F,01F,01F	; 1C. Battery,0 level 5
			DB  00E,01B,01F,01F,01F,01F,01F,01F	; 1D. Battery,0 level 6
			DB  00E,01F,01F,01F,01F,01F,01F,01F	; 1E. Battery,0 full
			
			DB 	000,01F,00A,004,004,004,004,000	; 1F. Antenna
			DB  00E,00E,004,004,004,004,004,000	; 20. Antenna 2
			DB	000,000,00A,004,00A,000,000,000	; 21. Antenna : No bar
			DB	000,000,000,000,000,000,010,000	; 22. Antenna : 1 Bar
			DB	000,000,000,000,000,008,018,000	; 23. Antenna : 2 Bar
			DB	000,000,000,000,004,00C,01C,000	; 24. Antenna : 3 Bar
			DB	000,000,000,002,006,00E,01E,000	; 25. Antenna : 4 Bar
			DB	000,000,001,003,007,00F,01F,000	; 26. Antenna : 5 Bar
			
			DB	003,005,019,011,019,005,003,000	; 27. Speaker
			DB  003,007,01F,01F,01F,007,003,000	; 28. Speaker 2
			DB  000,000,008,018,008,000,000,000	; 29. Speaker : Level 1
			DB  001,002,008,01B,008,002,001,000	; 2A. Speaker : Level 2
			DB 	000,008,00C,00E,00C,008,000,000	; 2B. Play
			DB  000,00A,00A,00A,00A,00A,000,000	; 2C. Pause
			DB	000,00C,012,012,014,00F,000,000	; 2D. Record 1 (left)
			DB	000,006,009,009,005,01E,000,000	; 2E. Record 1 (Right)
			DB	000,00E,01F,01F,01F,00E,000,000	; 2F. Record 2
			DB	000,000,01C,00E,007,00E,01C,000	; 30. Forward
			DB	000,000,007,00E,01C,00E,007,000	; 31. Rewind
			DB	000,01F,01F,01F,01F,01F,000,000	; 32. Stop

			DB	000,015,00E,01F,00E,015,000,000	; 33. Sun
			DB	01F,011,00A,004,00A,011,01F,000	; 34. Hourglass
			DB	000,00E,015,017,011,00E,000,000	; 35. Clock
			DB	000,004,00E,00E,00E,01F,004,000	; 36. Bell
			DB	000,015,00E,01F,00E,015,004,004	; 37. Laser symbol			
			DB	000,001,003,016,01C,008,000,000	; 38. Check mark
			DB  000,011,01B,00E,00E,01B,011,000	; 39. X mark
			DB	004,00E,00E,00E,004,000,004,000	; 3A. Exclamation mark (bold)

			DB  000,004,006,01F,01F,006,004,000	; 3B. Arrow - Right
			DB	000,004,00C,01F,01F,00C,004,000	; 3C. Arrow - Left
			DB 	000,00E,00E,00E,01F,00E,004,000	; 3D. Arrow - Down
			DB	000,004,00E,01F,00E,00E,00E,000	; 3E. Arrow - Up
			DB	000,00F,007,00F,01D,018,000,000	; 3F. Arrow - NE
			DB	000,01E,01C,01E,017,003,000,000	; 40. Arrow - NW
			DB	000,000,003,017,01E,01C,01E,000	; 41. Arrow - SW
			DB	000,000,018,01D,00F,007,00F,000	; 42. Arrow - SE
			
			DB	000,000,004,00E,01F,000,000,000	; 43. Arrow 2 - Up
			DB	000,000,000,01F,00E,004,000,000	; 44. Arrow 2 - Down
			DB	000,008,00C,00E,00C,008,000,000	; 45. Arrow 2 - Right
			DB	000,002,006,00E,006,002,000,000	; 46. Arrow 2 - Left
			
			DB	004,00E,01F,000,01F,00E,004,000	; 47. Scroll up-down
			DB	004,00E,01F,000,000,000,000,000	; 48. Scroll up
			DB	000,000,000,000,01F,00E,004,000	; 49. Scroll down
			DB	001,001,005,009,01F,008,004,000	; 4A. Return

			DB	008,00C,00E,00F,00E,00C,008,000	; 4B. Arrow 3 - Right
			DB	002,006,00E,01E,00E,006,002,000	; 4C. Arrow 3 - Left
			
			DB	000,004,002,01F,002,004,000,000	; 4D. Arrow 4 - Right
			DB	000,004,008,01F,008,004,000,000	; 4E. Arrow 4 - Left
			DB	000,004,004,004,015,00E,004,000	; 4F. Arrow 4 - Down
			DB	000,004,00E,015,004,004,004,000	; 50. Arrow 4 - Up
			
			DB	000,007,008,008,008,008,007,000	; 51. Prog. bar - Left,0 empty
			DB	000,007,008,00B,00B,008,007,000	; 52. Prog. bar - Left,0 filled
			DB	000,01F,000,000,000,000,01F,000	; 53. Prog. bar - Middle,0 empty
			DB	000,01F,000,018,018,000,01F,000	; 54. Prog. bar - Middle,0 1/2 fill
			DB	000,01F,000,01B,01B,000,01F,000	; 55. Prog. bar - Middle,0 filled
			DB	000,01C,002,002,002,002,01C,000	; 56. Prog. bar - Right,0 empty
			DB	000,01C,002,01A,01A,002,01C,000	; 57. Prog. bar - Right,0 filled

			DB	000,008,00E,00F,00E,008,008,008	; 58. Flag
			DB	00E,01F,015,015,01F,015,01B,00E	; 59. Smiley 1
			DB	000,000,00A,00A,000,011,00E,000	; 5A. Smiley 2
			DB	018,018,003,004,004,004,003,000	; 5B. Deg. celcius
			DB	018,018,007,004,006,004,004,000	; 5C. Deg. farenheigh
			DB	018,018,005,005,006,005,005,000	; 5D. Deg. kelvin
			DB	000,013,014,00E,005,019,000,000	; 5E. Fan
			DB	000,01F,011,011,01F,004,00E,000	; 5F. Screen
			DB	000,01B,01F,00E,00E,01F,01B,000	; 60. X mark 2
			DB	00A,00A,01F,01F,01F,00E,004,003	; 61. Power cord
			DB	000,000,011,00A,004,00A,011,000	; 62. X mark 3
			DB	00E,01F,01B,006,00C,000,00C,00C	; 63. Question mark (bold)
			DB	000,00C,00E,002,002,00E,00C,000	; 64. Phone headset
			DB	000,00E,011,011,01B,01B,00A,000	; 65. Headset
			DB	000,00F,00F,009,00B,01B,018,000	; 66. Music note
			DB	000,006,009,009,006,000,000,000	; 67. Degree
			DB	000,000,00E,011,004,00E,00E,000	; 68. Phone
			DB	000,000,00E,011,004,00E,00E,000	; 69. Lock
			DB	004,011,00E,01F,01F,00E,00E,004	; 6A. Light bulb

			DB	000,004,00E,01F,01F,00E,004,000	; 6B. Diamond
			DB	000,004,00E,01F,01F,015,004,00E	; 6C. Spade
			DB	004,00E,00E,004,01F,01F,015,004	; 6D. Clubs
			DB	000,00A,01F,01F,01F,00E,004,000	; 6E. Heart
			
			DB	000,004,00E,01F,00A,00A,00E,000	; 6F. Home
			DB	006,005,006,005,00C,01C,01C,018	; 70. Music note 2
			DB	00E,01F,01F,01F,01F,00E,00E,01F	; 71. Person 1
			DB	00E,01F,015,01F,015,01B,00E,01F	; 72. Person 2
			DB	004,00E,00E,004,01F,004,00A,011	; 73. Person 3
			DB	00E,00E,011,015,017,011,00E,00E	; 74. Watch
			DB	00E,004,00E,015,017,011,00E,000	; 75. Stop watch
			DB	000,000,00E,01F,01F,00E,000,000	; 76. Bullet point
			DB	000,00A,000,000,01F,011,00E,000	; 77. Smiley 3
			DB	000,000,000,000,000,000,000,000	; 78.
			DB	000,000,000,000,000,000,000,000	; 79.
			DB	000,000,000,000,000,000,000,000	; 7A.
			DB	000,000,000,000,000,000,000,000	; 7B.
			DB	000,000,000,000,000,000,000,000	; 7C.
			DB	000,000,000,000,000,000,000,000	; 7D.
			DB	000,000,000,000,000,000,000,000	; 7E.
			DB	000,000,000,000,000,000,000,000	; 7F.
			DB	000,000,000,000,000,000,000,000	; 80.
			DB	000,000,000,000,000,000,000,000	; 81.
			DB	000,000,000,000,000,000,000,000	; 82.
			DB	000,000,000,000,000,000,000,000	; 83.
			DB	000,000,000,000,000,000,000,000	; 84.
			DB	000,000,000,000,000,000,000,000	; 85.
			DB	000,000,000,000,000,000,000,000	; 86.
			DB	000,000,000,000,000,000,000,000	; 87.
			DB	000,000,000,000,000,000,000,000	; 88.
			DB	000,000,000,000,000,000,000,000	; 89.
			DB	000,000,000,000,000,000,000,000	; 8A.
			DB	000,000,000,000,000,000,000,000	; 8B.
			DB	000,000,000,000,000,000,000,000	; 8C.
			DB	000,000,000,000,000,000,000,000	; 8D.
			DB	000,000,000,000,000,000,000,000	; 8E.
			DB	000,000,000,000,000,000,000,000	; 8F.
			DB	000,000,000,000,000,000,000,000	; 90.
			DB	000,000,000,000,000,000,000,000	; 91.
			DB	000,000,000,000,000,000,000,000	; 92.
			DB	000,000,000,000,000,000,000,000	; 93.
			DB	000,000,000,000,000,000,000,000	; 94.
			DB	000,000,000,000,000,000,000,000	; 95.
			DB	000,000,000,000,000,000,000,000	; 96.
			DB	000,000,000,000,000,000,000,000	; 97.
			DB	000,000,000,000,000,000,000,000	; 98.
			DB	000,000,000,000,000,000,000,000	; 99.
			DB	000,000,000,000,000,000,000,000	; 9A.
			DB	000,000,000,000,000,000,000,000	; 9B.
			DB	000,000,000,000,000,000,000,000	; 9C.
			DB	000,000,000,000,000,000,000,000	; 9D.
			DB	000,000,000,000,000,000,000,000	; 9E.
			DB	000,000,000,000,000,000,000,000	; 9F.
			DB	000,000,000,000,000,000,000,000	; A0.
			DB	000,000,000,000,000,000,000,000	; A1.
			DB	000,000,000,000,000,000,000,000	; A2.
			DB	000,000,000,000,000,000,000,000	; A3.
			DB	000,000,000,000,000,000,000,000	; A4.
			DB	000,000,000,000,000,000,000,000	; A5.
			DB	000,000,000,000,000,000,000,000	; A6.
			DB	000,000,000,000,000,000,000,000	; A7.

			DB  015,00A,015,00A,015,00A,015,00A	; A8. Fill 1
			DB  00A,015,00A,015,00A,015,00A,015	; A9. Fill 1 - invert
			DB  015,000,015,000,015,000,015,000	; AA. Fill 2
			DB  00A,01F,00A,01F,00A,01F,00A,01F	; AB. Fill 2 - invert
			DB 	01F,000,01F,000,01F,000,01F,000	; AC. Fill 3
			DB 	000,01F,000,01F,000,01F,000,01F	; AD. Fill 3 - invert
			DB	015,015,015,015,015,015,015,015	; AE. Fill 4
			DB	00A,00A,00A,00A,00A,00A,00A,00A	; AF. Fill 4 - invert

			DB	03,003,000,003,003,000,003,003	; B0. Clock 1 - Segment F
        	DB	018,018,000,018,018,000,018,018	; B1. Clock 1 - Segment B
        	DB	01B,01B,000,000,000,000,01B,01B	; B2. Clock 1 - Segment A+G 
			DB	01B,01B,000,000,000,000,000,000	; B3. Clock 1 - Segment A
			DB	000,000,000,000,000,000,01B,01B	; B4. Clock 1 - Segment G
			DB	000,018,018,000,018,018,000,000	; B5. Clock 1 - Segment C
			DB	000,003,003,000,003,003,000,000	; B6. Clock 1 - Segment E
			DB	000,000,000,000,01B,01B,000,000	; B7. Clock 1 - Segment D

			DB	003,007,007,007,007,007,007,007	; B8. Clock 2 - Segment F
			DB	018,01C,01C,01C,01C,01C,01C,01C	; B9. Clock 2 - Segment B
			DB	01F,01F,01F,000,000,000,01F,01F	; BA. Clock 2 - Segment A+G
			DB	01F,01F,01F,000,000,000,000,000	; BB. Clock 2 - Segment A
			DB	000,000,000,000,000,000,01F,01F	; BC. Clock 2 - Segment G
			DB	01C,01C,01C,01C,01C,018,000,000	; BD. Clock 2 - Segment C
			DB	007,007,007,007,007,003,000,000	; BE. Clock 2 - Segment E
			DB	000,000,000,01F,01F,01F,000,000	; BF. Clock 2 - Segment D

			DB	007,00F,00F,00F,00F,00F,00F,007	; C0. Clock 3 - V seg L
			DB	01C,01E,01E,01E,01E,01E,01E,01C	; C1. Clock 3 - V seg R
			DB	01F,01F,000,000,000,000,01F,01F	; C2. Clock 3 - Center, Top+Bottom
			DB	01F,01F,000,000,000,000,000,000	; C3. Clock 3 - Center, Top
			DB	000,000,000,000,000,000,01F,01F	; C4. Clock 3 - Center, Bottom
			DB	00F,007,000,000,000,000,003,007	; C5. Clock 3 - Left, Top+Bottom
			DB	000,000,000,000,000,000,007,00F	; C6. Clock 3 - Left, Bottom
			DB	01E,01C,000,000,000,000,018,01C	; C7. Clock 3 - Right, Top+Bottom

			DB	000,000,000,000,000,000,000,000	; C8.
			DB	000,000,000,000,000,000,000,000	; C9.
			DB	000,000,000,000,000,000,000,000	; CA.
			DB	000,000,000,000,000,000,000,000	; CB.

			DB	010,018,018,018,018,018,018,010	; CC. Clock 4 - Segment E or F
			DB	001,003,003,003,003,003,003,001	; CD. Clock 4 - Segment B or C
			DB	01F,01F,000,000,000,000,01F,01F	; CE. Clock 4 - Segment A+G
			DB	000,000,000,000,000,000,01F,01F	; CF. Clock 4 - Segment G or D
			DB	01F,01F,000,000,000,000,000,000	; D0. Clock 4 - Segment A
			
			DB	000,000,000,000,001,001,002,002	; D1. Icon - Warning (tile 1a)
			DB	000,00E,011,000,000,004,00E,00E	; D2. Icon - Warning (tile 2a)
			DB	000,000,000,000,010,010,008,008	; D3. Icon - Warning (tile 3a)
			DB	004,004,008,008,010,010,010,00F	; D4. Icon - Warning (tile 1b)
			DB	00E,00E,00E,004,000,004,000,01F	; D5. Icon - Warning (tile 2b)
			DB	004,004,002,002,001,001,001,01E	; D6. Icon - Warning (tile 3b)
			
			DB	000,000,001,002,004,004,008,008	; D7. Icon - info (tile 1a)
			DB	000,01F,000,000,00E,00E,00E,000	; D8. Icon - info (tile 2a)
			DB	000,000,010,008,004,004,002,002	; D9. Icon - info (tile 3a)
			DB	008,008,004,004,002,001,000,000	; DA. Icon - info (tile 1b)
			DB	01F,00E,00E,00E,01F,000,01F,000	; DB. Icon - info (tile 2b)
			DB	002,002,004,004,008,010,000,000	; DC. Icon - info (tile 3b)
			
			DB	000,000,000,000,000,000,000,000	; DD.
			DB	000,000,000,000,000,000,000,000	; DE.
			DB	000,000,000,000,000,000,000,000	; DF.
			DB	000,000,000,000,000,000,000,000	; F0.
			DB	000,000,000,000,000,000,000,000	; F1.
			DB	000,000,000,000,000,000,000,000	; F2.
			DB	000,000,000,000,000,000,000,000	; F3.
			DB	000,000,000,000,000,000,000,000	; F4.
			DB	000,000,000,000,000,000,000,000	; F5.
			DB	000,000,000,000,000,000,000,000	; F6.
			DB	000,000,000,000,000,000,000,000	; F7.
			DB	000,000,000,000,000,000,000,000	; F8.
			DB	000,000,000,000,000,000,000,000	; F9.			
			DB	000,000,000,000,000,000,000,000	; FA.			
			DB	000,000,000,000,000,000,000,000	; FB.			
			DB	000,000,000,000,000,000,000,000	; FC.			
			DB	000,000,000,000,000,000,000,000	; FD.			
			DB	000,000,000,000,000,000,000,000	; FE.			
			DB	000,000,000,000,000,000,000,000	; FF. 



;==============================================================================
;==============================================================================
		END
